#pragma once
#include "Pose3D.h"
template <typename T>
struct Particle
{
public:
	double log_w=1.0;

	T data;
	Particle() {};


	Particle(double _log_w, T _data):log_w(_log_w),data(_data) {};
	~Particle() {};

	friend ostream& operator<< (ostream &out, Particle<T> &particle) {
		out << "pose=" << endl;
		out << particle.data[0] << " " << particle.data[1] << " " << particle.data[2] << " "
			<< particle.data[3] << " " << particle.data[4] << " " << particle.data[5] << " " << particle.log_w << endl;
		return out;
	}
};



